package com.atguigu.lease.web.app.service.impl;

import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.atguigu.lease.web.app.service.SmsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class SmsServiceImpl implements SmsService {

    // 通过构造器注入了阿里云SDK的Client对象，用于发送短信
    @Autowired
    Client client;

    /**
     * 该函数用于发送消息。具体功能如下：
     * 接收两个参数：phone（电话号码）和code（验证码）。
     * 通常用于向指定电话号码发送一条包含验证码的短信
     * @param phone
     * @param code
     */
    @Override
    public void sendMsg(String phone, String code) {
        try {
            // 发送短信
            SendSmsRequest sendSmsRequest = new SendSmsRequest();
            sendSmsRequest.setSignName("阿里云短信测试");
            sendSmsRequest.setTemplateCode("SMS_154950909");
            sendSmsRequest.setPhoneNumbers(phone);
            sendSmsRequest.setTemplateParam("{\"code\":\"" + code + "\"}");
            // 发送短信
            client.sendSms(sendSmsRequest);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
